#ifndef __M_LOGGER_H__
#define __M_LOGGER_H__
#include<stdio.h>
#include<time.h>
#define INF 0
#define DBG 1
#define ERR 2
#define DEFAULT_LOG_LEVEL INF

#define LOG(level,format,...) do{\
if(DEFAULT_LOG_LEVEL >level)break;\
time_t t=time(NULL);\
struct tm * lt=localtime(&t);\
char buf[32]={0};\
strftime(buf,31,"%H:%M:%S",lt);\
fprintf(stdout,"[%s %s:%d] " format"\n",buf,__FILE__,__LINE__,##__VA_ARGS__);\
}while(0)
#define ILOG(format,...) LOG(INF,format,##__VA_ARGS__)
#define DLOG(format,...) LOG(DBG,format,##__VA_ARGS__)
#define ELOG(format,...) LOG(ERR,format,##__VA_ARGS__)
#endif
